package concurso.cliente;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;

import concurso.persistencia.excepciones.PersistenciaException;
import concurso.persistencia.Propiedades;

public class Controlador {
	static private Controlador instancia = null;
	private IFachadaJueces iFacJue  = null;
	private IFachadaPublico iFacPub = null;
	
	private Controlador() throws MalformedURLException, RemoteException, NotBoundException, PersistenciaException{
		//iFacJue = (IFachadaJueces) Naming.lookup("//localhost:1099/concursoJ");
		//iFacPub = (IFachadaPublico) Naming.lookup("//localhost:1099/concursoP");
		
		String srv = Propiedades.getInstancia().obtenerPropertiesServidor();
		iFacJue = (IFachadaJueces) Naming.lookup(srv + "/concursoJ");
		iFacPub = (IFachadaPublico) Naming.lookup(srv + "/concursoP");
	}
	
	public static Controlador getInstancia() throws MalformedURLException, RemoteException, NotBoundException, PersistenciaException{
		if(instancia == null) 
			instancia = new Controlador();
		return instancia;
	}
	
	public IFachadaJueces getInterfazJueces(){
		return iFacJue;
	}
	
	public IFachadaPublico getInterfazPublico(){
		return iFacPub;
	}
}
